package com.coolw.core.spi;

/**
 * 自定义序列化、反序列化接口
 *
 * @author coolw
 * @date 2024/12/30 9:46
 */
public interface CustomerSerializer {

    /**
     * 序列化
     *
     * @param data 待序列化的数据
     * @return 序列化后的数组
     */
    byte[] serialize(Object data);

    /**
     * 反序列化
     *
     * @param data  待反序列化的数据
     * @param clazz 数据类
     * @param <T>   数据对象
     * @return 反序列化后的对象
     */
    <T> T deserialize(byte[] data, Class<T> clazz);
}
